package com.uade.tp.view;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.WindowConstants;

import com.uade.tp.controlador.Delivery;


/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class AltaProducto extends javax.swing.JFrame {
	private JLabel jLabel1;
	private JLabel jLabel2;
	private JButton jButton3;
	private JButton jButton1;
	private JButton jBVerificarNombre;
	private JTextField jTextFieldNombreProveedor;
	private JButton jButton2;
	private JTextField jtfnombre;
	private static AltaProducto instancia;

	/**
	* Auto-generated main method to display this JFrame
	*/
	/*public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				AltaProducto inst = new AltaProducto();
				inst.setLocationRelativeTo(null);
				inst.setVisible(true);
			}
		});
	}*/
	
	public static AltaProducto getInstancia(){
		if (instancia == null){
			instancia = new AltaProducto();
		}
		instancia.setLocationRelativeTo(null);
		return instancia;
	}
	
	private AltaProducto() {
		super();
		initGUI();
	}
	
	private void limpiar(){

		jtfnombre.setText("");
		jTextFieldNombreProveedor.setText("");
		
		jTextFieldNombreProveedor.setEditable(false);
		jtfnombre.setEditable(true);
		jBVerificarNombre.setEnabled(true);
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			this.setTitle("Alta de Producto");
			getContentPane().setLayout(null);
			{
				jLabel1 = new JLabel();
				getContentPane().add(jLabel1);
				jLabel1.setText("Nombre :");
				jLabel1.setBounds(7, 23, 70, 16);
			}
			{
				jLabel2 = new JLabel();
				getContentPane().add(jLabel2);
				jLabel2.setText("Proveedor :");
				jLabel2.setBounds(12, 73, 70, 16);
			}
			{
				jtfnombre = new JTextField();
				getContentPane().add(jtfnombre);
				jtfnombre.setBounds(87, 20, 148, 23);
			}
			{
				jButton3 = new JButton();
				getContentPane().add(jButton3);
				jButton3.setText("Salir");
				jButton3.setBounds(196, 135, 78, 23);
				jButton3.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						limpiar();
						instancia.setVisible(false);
					}
				});
			}
			{
				jButton2 = new JButton();
				getContentPane().add(jButton2);
				jButton2.setText("Limpiar");
				jButton2.setBounds(106, 135, 79, 23);
				jButton2.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						limpiar();
					}
				});
			}
			{
				jButton1 = new JButton();
				getContentPane().add(jButton1);
				jButton1.setText("Guardar");
				jButton1.setBounds(12, 135, 83, 23);
				jButton1.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						
						String nombreProveedor = jTextFieldNombreProveedor.getText().trim();
						
						if(nombreProveedor.equals("")) {
							JOptionPane.showMessageDialog(null,"Debe ingresar proveedor");
						}
						else {
							Delivery.getInstancia().altaProducto(
									jtfnombre.getText(), 
									jTextFieldNombreProveedor.getText());
							
							JOptionPane.showMessageDialog(null,"Producto Guardado con exito");
							limpiar();
						}
					}
				});
			}
			{
				jTextFieldNombreProveedor = new JTextField();
				getContentPane().add(jTextFieldNombreProveedor);
				jTextFieldNombreProveedor.setBounds(87, 70, 148, 23);
				jTextFieldNombreProveedor.setEditable(false);
			}
			{
				jBVerificarNombre = new JButton();
				getContentPane().add(jBVerificarNombre);
				jBVerificarNombre.setText("Verificar Nombre");
				jBVerificarNombre.setBounds(247, 16, 99, 23);
				jBVerificarNombre.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) 
					{
						boolean existe;
						String nombre = jtfnombre.getText().trim();
						
						if(nombre.equals("")) {
							JOptionPane.showMessageDialog(null, "Debe ingresar un nombre de producto");
						}
						else {
							existe = Delivery.getInstancia().existeProducto(nombre);
							
							if(existe) {
								JOptionPane.showMessageDialog(null, "El producto ya existe");
							} else {
								//Habilito los demas campos.
								JOptionPane.showMessageDialog(null,"producto no existe, complete los campos");
								jTextFieldNombreProveedor.setEditable(true);
								jtfnombre.setEditable(false);
								jBVerificarNombre.setEnabled(false);
							}
						}
					}
				});
			}
			pack();
			this.setSize(387, 212);
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	}


}
